<?php
class Historial{
	var $id_estatus="";#` int(10) unsigned NOT NULL auto_increment,
	var $id_envio;#` int(10) unsigned NOT NULL default '0',
	var $usuario;#` varchar(15) default NULL,
	var $sucursal;#` varchar(50) default NULL,
	var $fecha;#` date default NULL,
	var $hora;#` time NOT NULL,
	var $estatus;#` varchar(25) default NULL,

	function __construct()
	{	
		switch(func_num_args())
		{
			case 1:	if(trim(func_get_arg(0)) =="")return;
					$this->setId( func_get_arg( 0 ) );
					$this->cargar();
					break;
			
			/*id_envio, estatus */
			case 2:	if(trim(func_get_arg(0)) =="")return;
					$this->setEnvio( func_get_arg( 0 ) );
					$this->setEstatus( func_get_arg(1) );
					$this->agregar();
					break;
		}
	}
	
	function cargar(){
		$con=new Conexion();
		$con->ejecutar("select * from historial_estatus where id_estatus='".$this->getId()."' order by fecha asc");
				
		$con->traerFilaPorNombre();
		
		$this->sucursal= new Sucursal($con->get("id_sucursal"));
		$this->usuario= new Usuario($con->get("login_usuario"));
		$this->fecha= new Fecha($con->get("fecha"));
		$this->hora= new Hora($con->get("hora"));
		
		$this->setEnvio($con->get("id_envio"));
		$this->setEstatus($con->get("estatus"));
	}
	

	function insertar(){
		$con=new Conexion();
		#agregar al usuario
		$con->ejecutar("INSERT INTO historial_estatus VALUES (null,'".$this->getEnvio()."',
							'".$this->usuario."','".$this->sucursal."','".$this->fecha->get()."',
							'".$this->hora->get()."','".$this->getEstatus()."')");

		$con->ejecutar("select max(id_estatus) from historial_estatus;");
		$this->setId($con->resultado(0,0));
	}
	
	function toObjeto(){
		$o = array(
			"id_estatus"=> $this->getId(),
			"id_envio"=> $this->getEnvio(),
			"sucursal"=> $this->sucursal->toObjeto(),
			"usuario"=> $this->usuario->toObjeto(),
			"fecha"=> $this->fecha->get(),
			"hora"=> $this->hora->get(),
			"estatus"=> $this->getEstatus()
		);
		return $o;
	}
	
	function toJson(){
		return json_encode($this->toObjeto());
	}
	
	function agregar(){
		$ss=new Session();
		$this->usuario= $ss->getId();
		$this->sucursal= $ss->sucursal->getId();

		$this->fecha= new Fecha();
		$this->hora= new Hora();
		
		$this->insertar();		
	}
	function toVista(){
		$o = array(
			"id_estatus"=> $this->getId(),
			"id_envio"=> $this->getEnvio(),
			"sucursal"=> $this->sucursal->getNombre(),
			"usuario"=> $this->usuario->getNombres()." ".$this->usuario->getApellidos(),
			"fecha_a"=> $this->fecha->getAno(),
			"fecha_m"=> $this->fecha->getMesText(),
			"fecha_d"=> $this->fecha->getDia(),
			"hora"=> $this->hora->toString(),
			"estatus"=> $this->getEstatus()
		);
		return $o;
	}

	function setId($_x){$this->id_nota=(trim($_x)=="" || $_x=="null" || $_x==null) ?"" : trim($_x);}
	function setPropietario($_x){$this->id_propietario=(trim($_x)=="" || $_x=="null" || $_x==null) ?"" : trim($_x);}
	function setEstatus($_x){$this->estatus=(trim($_x)=="" || $_x=="null" || $_x==null) ?"" : trim($_x);}
	function setEnvio($_x){$this->envio=(trim($_x)=="" || $_x=="null" || $_x==null) ?"" : trim($_x);}
	
	function getId(){return $this->id_nota;}
	function getPropietario(){return $this->id_propietario;}
	function getEstatus(){return $this->estatus;}
	function getEnvio(){return $this->envio;}
}
?>
